//
//  VerifyPayPasswordEngine.m
//  HuLaQuan
//
//  Created by hok on 1/27/16.
//  Copyright © 2016 Jianghao. All rights reserved.
//

#import "VerifyPayPasswordEngine.h"

#import "CurrentUser.h"

@implementation VerifyPayPasswordEngine

- (void)verifyPayPassword:(NSString *)password
{
    NSString *pw = [RSA encryptString:password publicKey:PUBLIC_KEY];
    
    NSString *randomKey = [self createKeyWithLength:24];
    
    NSString *src = [NSString stringWithFormat: @"<?xml version=\"1.0\" encoding=\"UTF-8\"?><msg service=\"authPayPwd\" sysName=\"attach\" sign=\"RSA\" serialNumber=\"%@\" termId=\"star_open_esa\" termAdd=\"23.23,23.45\" termBrand=\"iPhone\" osVersion=\"iPhone OS 9.1\" appVersion=\"1.0.0\" tokenValue=\"%@\" userId=\"%@\" channelId=\"88888888\"><payPwd>%@</payPwd><attach>attach</attach></msg>",[self getSerialNumber],[CurrentUser sharedInstance].token,[CurrentUser sharedInstance].ID,pw];
    
    NSString *final = [NSString stringWithFormat:@"%@|%@|%@",[self firstString],[self secondStringWithKey:randomKey],[self thirdStringWithBody:src andKey:randomKey]];
    
    [YuHTTPClient XMLDataWithUrl:SERVER_HOST_CUSTOMER parameters:final success:^(BOOL isSuccess, id item){
        
        NSDictionary *result;
        if (isSuccess) {
            NSLog(@"%@",item);
            NSString *resString = [_DES decrypt:[item lastObject] withKey:randomKey];
            
            NSDictionary *resultDic = [self parseXMLFromYinLianConnection:resString];
            
            NSLog(@"%@",resultDic);
            
            NSMutableDictionary *tokenDic = [[NSMutableDictionary alloc] init];
            [tokenDic setObject:resultDic[@"tokenValue"] forKey:@"tokenValue"];
            [tokenDic setObject:resultDic[@"tokenTime"] forKey:@"tokenTimes"];
            
            result = @{@"isSuccess":@YES,@"result":tokenDic};
        }else{
            result = @{@"isSuccess":@NO,@"message":item};
        }
        
        [[NSNotificationCenter defaultCenter] postNotificationName:@"VerifyPayPasswordFinish" object:result];
    }];
    
}
@end
